#ifndef PREDICATES
#define PREDICATES

#include "gmp.h"
#include "structs.h"

const double eps = 4 * std::numeric_limits<double>::epsilon();

int left_turn(const point&, const point&, const point&);
int exact_left_turn(const point&, const point&, const point&);
void value_left_turn(const point&, const point&, const point&, mpq_t&);

int further_from_line_than_old_uppermost(const point&, const point&, const point&, const point&);
int exact_further_from_line_than_old_uppermost(const point&, const point&, const point&, const point&);

bool point_in_circle(const point&, const circle&);
#endif